package org.example.service;

import org.example.dto.VideoParseRecordDTO;
import org.example.dto.VideoParseStatsDTO;
import org.example.entity.VideoParseRecord;

import java.util.List;

public interface VideoParseRecordService {
    
    /**
     * 查询所有记录
     */
    List<VideoParseRecordDTO> getAllRecords();
    
    /**
     * 根据昵称查询记录
     */
    List<VideoParseRecordDTO> getRecordsByNickname(String nickname);
    
    /**
     * 根据解析状态查询记录
     */
    List<VideoParseRecordDTO> getRecordsByParseStatus(Integer parseStatus);
    
    /**
     * 根据平台查询记录
     */
    List<VideoParseRecordDTO> getRecordsByPlatform(String platform);
    
    /**
     * 根据昵称和解析状态查询记录
     */
    List<VideoParseRecordDTO> getRecordsByNicknameAndStatus(String nickname, Integer parseStatus);
    
    /**
     * 根据昵称和平台查询记录
     */
    List<VideoParseRecordDTO> getRecordsByNicknameAndPlatform(String nickname, String platform);
    
    /**
     * 查询成功解析的记录
     */
    List<VideoParseRecordDTO> getSuccessRecords();
    
    /**
     * 查询失败解析的记录
     */
    List<VideoParseRecordDTO> getFailedRecords();
    
    /**
     * 分页查询记录
     */
    List<VideoParseRecordDTO> getRecordsWithPage(Integer page, Integer size);
    
    /**
     * 获取统计信息
     */
    VideoParseStatsDTO getStats();
    
    /**
     * 根据昵称获取统计信息
     */
    VideoParseStatsDTO getStatsByNickname(String nickname);
    
    /**
     * 根据平台获取统计信息
     */
    VideoParseStatsDTO getStatsByPlatform(String platform);
} 